1. Field of the Invention
The present invention relates generally to a control apparatus for an internal combustion engine equipped with a variable valve timing mechanism. More specifically, the present invention is directed to a control apparatus for controlling a change in valve timing by the variable valve timing mechanism.
2. Description of the Related Art
FIG. 8 schematically shows the arrangement of a conventional control system for an internal combustion engine equipped with a variable valve timing mechanism, as described in Japanese Patent Application Laid-Open No. Hei 6-299876. The conventional control system is an example of a general-purpose system for changing the open/close timing of an intake valve alone.
Now, the conventional internal combustion engine will be explained. In each cylinder 100 (only one cylinder is indicated), a combustion chamber 100a is defined by a piston 101 which is moved for reciprocation in the cylinder 100. An ignition plug 102 is provided in a cylinder head at an upper portion of the combustion chamber 100a, with a tip portion thereof being presented into the combustion chamber 100a. An intake pipe 103 and an exhaust pipe 104 are connected to each cylinder 100. The intake pipe 103 conducts intake air to the combustion chamber 100a. The exhaust pipe 104 is used to exhaust combustion gases from the combustion chamber 100a. An intake valve 117 is provided at an intake port through which the exhaust pipe 104 is opened to the combustion chamber 100a, whereas an exhaust valve 118 is provided at an exhaust port through which the exhaust pipe 104 is opened to the combustion chamber 100a. A throttle valve 108 is provided in the intake pipe 103 for controlling an amount of intake air which is supplied to the combustion chamber 100a. An opening degree of the throttle valve 108 is detected by a throttle sensor 112 mounted on the intake pipe 103 in the vicinity of the throttle valve 108. Also, within the intake pipe 103, both a fuel injection valve 105 and a pressure sensor 113 are provided on the downstream side of the throttle valve 108. The fuel injection valve 105 is to supply or inject fuel to the intake pipe 103. The pressure sensor 113 is to detect the pressure in the intake pipe 103. Furthermore, a water temperature sensor 107 for detecting a temperature of engine coolant or cooling water is mounted on the cylinder 100, and an oxygen sensor 106 for detecting an oxygen concentration in exhausted air is provided on the exhaust pipe 104.
Both an intake cam shaft 115 and an exhaust cam shaft 119, by which the respective valves are opened/closed, are arranged above the intake valve 117 and the exhaust valve 118. An intake-side timing pulley 120 and an exhaust-side timing pulley 119a are mounted on the intake cam shaft 115 and the exhaust cam shaft 119. Both the intake-side timing pulley 120 and the exhaust-side timing pulley 119a are operatively coupled via timing belts (not shown) to a crank shaft 116. The crank shaft 116 is coupled via a piston rod 116a to the piston 101 provided in each cylinder 100. As a result, both the intake cam shaft 115 and the exhaust cam shaft 119 are driven to rotate in synchronization with the rotation of the crank shaft 116.
An oil pressure actuator (VVT ACT) 114 driven by lubricating oil of the engine is coupled to an end face of the intake cam shaft 115, and the oil pressure actuator 114 changes open/close timing of the intake valve 117. In other words, the oil pressure actuator 114 changes the displacement angle of the intake cam shaft 115 with respect to the intake-side timing pulley 120 in order to continuously change the open/close timing of the intake valve 117.
An oil control valve (OCV) 121 supplies operating oil to the oil pressure actuator 114, and also adjusts the amount of the operating oil, so that the oil pressure actuator 114 is driven to change the open/close timing of the intake valve 117.
FIG. 8 represents such a system for changing the valve timing of the intake valve 117 alone. Similarly, a system for changing the open/close timing of the exhaust valve 118 may be provided.
A rotary plate 116b having concave/convex portions formed on an outer circumferential portion thereof is fixed to the crank shaft 116. A crank angle sensor 110 is arranged opposite to the outer circumferential portion and in the vicinity of the rotary plate 116b for detecting the concave/convex portion of the outer circmferential portion of the rotary plate 116b, so that this sensor 110 may detect a rotational or angular position of the crank shaft 116 (i.e., crank angle position), and the number of revolutions per minute of the engine (hereinafter referred to as "engine rotational number or speed").
The output signals of various sorts of sensors are inputted into an engine control unit (hereinafter referred to as an "ECU") 122. These sensors include the crank angle sensor 110, the throttle sensor 112, the pressure sensor 113, an intake air sensor (not shown), the water temperature sensor 107, and the like. The ECU 122 detects an operating condition of the engine in response to sensor information, and then controls the ignition plug 102, the fuel injection valve 105, the oil control valve 121 and the like in correspondence with the detected engine operating condition.
FIG. 9 is a schematic block diagram showing a basic arrangement of a conventional control apparatus for an internal combustion engine equipped with the above-described variable valve timing mechanism.
As indicated in FIG. 9, the conventional control apparatus for the internal combustion engine includes an operating condition detector 1, a target advance amount setter 2, an actual advance amount detector 3, an advance amount deviation calculator 4, a control amount calculator 5, a controller 6, and a variable valve timing mechanism 7 to be discussed later. It should be understood that these elements 1 to 6 functionally indicate the control contents of the ECU 122, and these control contents may be executed in a software manner by using a microcomputer and the like.
The operating condition detector 1 detects the operating condition of the internal combustion engine from the information of the output signals derived from various sorts of sensors such as the crank angle sensor 110 for detecting the rotational number of the engine, the throttle sensor 112, the pressure sensor 113, an intake air sensor (not shown), and the water temperature sensor 107, and so on.
The target advance amount setter 2 sets an optimum target valve timing under the detected engine operating condition based upon the detection result of the operating condition detector 1. The target valve timing is previously mapped based upon either the engine rotational number Ne and the charging efficiency Ce, or the engine rotational number Ne and the throttle opening degree. In the case where a predetermined operating condition is satisfied, for example, the engine cooling water temperature becomes higher than or equal to a predetermined temperature (for instance, higher than or equal to 0.degree. C.), the target advance amount setter 2 retrieves the map, and executes an interpolation calculation so as to set an optimum target advance amount ".theta.b". To the contrary, when the predetermined operating condition cannot be satisfied, the target advance amount setter 2 fixes the target advance amount .theta.b to a basic reference position (for example, intake side is fixed to the most retarded angle position, whereas exhaust side is fixed to the most advanced angle position).
The actual advance amount detector 3 detects the actual valve open/close timing (position) based on the output signals derived from the crank angle sensor 110 and the cam angle position detecting sensor 111 by employing the known method.
The advance amount deviation calculator 4 calculates a deviation between the target advance amount .theta.b set by the target advance amount setter 2 and the actual advance amount .theta.r of the open/close position of either the intake valve or the exhaust valve, which is detected by the actual advance amount detector 3.
The control amount calculator 5 calculates the control amount through feedback control based upon the advance amount deviation .theta.er calculated by the advance amount deviation calculator 4 in order that the actual advance amount .theta.r is converged to the target advance amount .theta.b.
The controller 6 outputs a control signal for controlling the variable valve timing mechanism 7 based on the control amount calculated by the control amount calculator 5.
The variable valve timing mechanism 7 is so operated as to continuously change the phase of the intake cam shaft 115 with respect to the crank shaft 116. The variable valve timing mechanism 7 is equipped with the oil pressure actuator 114 mounted on the end face of the cam shaft, and the oil control valve 121 for driving and controlling the oil pressure actuator 114. The oil control valve 121 is equipped with a spool valve 123 which functions as a switching valve for switching the oil path to the oil pressure actuator 114, and a linear solenoid 124 which functions as a drive mechanism for controlling the position of the spool valve 123. The energizing current of the linear solenoid 124 is controlled in response to the control signal outputted from the controller 6 so as to drive the spool valve 123. Thus, the spool valve 123 switches the oil path to the oil pressure actuator 114 in order to adjust the oil amount of the operating oil. As previously explained, the linear solenoid 124 drives the oil pressure actuator 114 so as to change the open/close timing (hereinafter referred to as "valve timing") of the intake valve 117 and also of the exhaust valve 118.
FIG. 10(a) to FIG. 10(c) indicate operating conditions of the oil pressure actuator 114 in such a case that a control current value "i" of the oil control valve 121 by the controller 6 is varied.
FIG. 10(a) shows an operating condition of the oil pressure actuator 114 in the case where the control current value "i" is such a current value "ia" (for instance, 0.1 A) smaller than a reference value "ib" (for example, 0.5 A). At this time, the spool valve 123 is moved to a left side so as to form an oil path as indicated by an arrow. Thus, the operating oil is supplied to a retardation angle (retard angle) chamber 125 of the oil pressure actuator 114, and also the operating oil is exhausted from an advance angle chamber 126, so that the phase of the intake cam shaft 115 is delayed and therefore the open/close timing of the intake valve 117 (hereinafter referred to as "intake valve timing") is brought into a retardation angle control state.
FIG. 10(b) indicates an operating condition of the oil pressure actuator 114 in the case where the control current value "i" is equal to the reference value "ib" (for instance, 0.5 A). At this time, the spool valve 123 is maintained at a position where an oil path switching port is closed, and both the retardation angle chamber 125 and the advance angle chamber 126 of the oil pressure actuator 114 are brought into such conditions that the operating oil is neither supplied nor exhausted. Thus, the phase of the intake cam shaft 115 is maintained under the current state, and also the intake valve timing is brought into a control state for maintaining the current condition.
FIG. 10(c) represents an operating condition of the oil pressure actuator 114 in the case where the control current value "i" is such a current value "ic" (for instance, 0.1 A) larger than the reference value "ib" (for example, 0.5 A). At this time, the spool valve 123 is moved to the right so as to form an oil path as indicated by an arrow. Thus, the operating oil is supplied to the advance angle chamber 126 of the oil pressure actuator 114, and also the operating oil is exhausted from the retardation angle chamber 125, so that the phase of the intake cam shaft 115 is advanced and therefore the intake valve timing is brought into an advance angle control state.
In FIG. 10(a) to FIG. 10(c), the communication degree of switching the oil path is determined by the position of the spool valve 123. There is a direct proportional relationship between the position of the spool valve 123 and the current value "i"of the linear solenoid 124.
FIG. 11 is a characteristic diagram showing a changing speed VTa of actual valve timing with respect to the current value "i" of the linear solenoid 124 under a predetermined operating condition. In this figure, a region where the changing speed VTa is positive indicates that the actual valve timing is moved along the advance angle direction, whereas a region where the changing speed VTa is negative indicates that the actual valve timing is moved along the retardation angle direction.
In FIG. 11, the current values ia, ib, ic show the current values "i" of the linear solenoid 124 corresponding to the respective positions of the spool valve 123 shown in FIG. 10(a), FIG. 10(b) and FIG. 10(c), respectively. As a current value "i" under which the actual valve timing changing speed VTa becomes "0", there is only one current value "ib" by which a total oil amount of the operating oil leaked from the retardation angle chamber 125, the advance angle chamber 126, an oil pressure pipe (not shown), and the spool valve 123 can be made balance with a total oil amount of operating oil pressure-fed from an oil pump (not shown).
It should be understood that since the reference value "ib" for the control current value of the oil control valve 121 is varied depending upon fluctuations in the dimensions of the spool valve 123 and the operating conditions of the engine such as the engine rotational number and the engine temperature, this reference value is required to be updated as the holding current value "ih" in the learning manner under predetermined conditions (for example, in the case where actual advance amount .theta.r.ltoreq.target advance amount .theta.b.+-.1.degree. CA).
Therefore, the following description will be made under such a condition that the current value "ib" for maintaining the actual valve timing unchanged (i.e., the current condition is maintained) is employed as the holding current value "ih". In other words, when the valve timing is desired to be advanced, the control current value "i" may be set to be larger than the holding current value "ih". Conversely, when the valve timing is to be retarded, the control current value "i" may be set to be smaller than the holding current value "ih".
Next, a description will be made of the detection of the actual valve timing by the actual advance amount detector 3 while referring to FIGS. 12(a) through 12(c).
FIG. 12(a) is a timing chart indicating a crank angle position detection signal SGT (hereinafter referred to as a "signal SGT") corresponding to the output signal derived from the crank angle sensor 110. FIG. 12(b) and FIG. 12(c) are timing charts showing cam angle position detection signals SGC (hereinafter referred to as "signal SGC") corresponding to the output signals derived from the cam angle position detecting sensor 11 at the most spark retarded position and at an advanced position, respectively. Generally speaking, the signal SGT is employed so as to detect the rotational number Ne of the engine, as well as to detect such a fact that the crank shaft 116 is located at a predetermined reference crank angle position.
First, to detect the actual advance amount .theta.r, as discussed later, an actual valve timing detection value ".theta.a" is calculated from a phase relationship between the signal SGT and the signal SGC.
A signal SGC* of FIG. 12(b) indicates such a signal SGC derived when the valve timing is the most retarded angle position. A signal SGCa of FIG. 12(c) shows such a signal SGC derived when the valve timing is advanced.
As shown in FIGS. 12(a) through 12(c), the ECU 122 measures a time duration T110 corresponding to a crank angle of 110.degree. CA in the signal SGT of FIG. 12(a) every predetermined crank angle position (for instance, BTDC75.degree. CA) equal to the reference timing of the signal SGT. Also, the ECU 122 measures a phase difference time duration Ta which is defined from the signal SGC up to the signal SGT, and it calculates the actual valve timing detection value .theta.a in accordance with the following formula (1): EQU .theta.a(j)=Ta(j)/T110(j).times.110[.degree. CA] (1).
Also, under a predetermined stable operating condition of the engine such as an idle operating condition, the actual valve timing detection value .theta.a, detected when the target advance amount .theta.b is at the most retarded angle position (.theta.b=0), is stored as a most retarded angle learning value ".theta.*". The most retarded angle learning value .theta.* constitutes a reference value used to calculate the actual advance amount .theta.r of the actual valve timing. This reference value is set so as to absorb detection differences occurring with respective systems employed. The detection differences are caused by variations in the component parts as well as variations in the mounting of the oil pressure actuator 114, the crank angle sensor 110 and the cam angle position detecting sensor 111. Also, in order to perform precise control, the most retarded angle learning value .theta.* is frequently updated in a short time period, for example, every time a predetermined time (e.g., 25 ms) passes, or every predetermined crank angle position (e.g., BTDC75.degree. CA) of the signal SGT.
Next, a description will now be made of the control content of a variable valve timing control operation. Conventionally, the content of the valve timing control is well known in the related field, as known from, for example, Japanese Patent Application Laid-Open No. Hei 6-159021.
The ECU 122 executes feedback control based upon a deviation .theta.er between the target advance amount .theta.b and the actual advance amount .theta.r every time a predetermined time passes (e.g., 25 ms) in order that the actual advance amount .theta.r can be converged to the target advance amount .theta.b.
FIG. 13 is a flow chart describing the control operation of the above-explained conventional control apparatus. The routine shown therein is processed every predetermined time (e.g., 25 ms).
In FIG. 13, first, at step 200, using the following formula (2), the actual advance amount detector 3 calculates the actual advance amount .theta.r corresponding to the advance amount of the actual valve timing while setting as a reference the most retarded angle learning value ".theta.*": EQU .theta.r(n)=.theta.a(j)-.theta.*[.degree. CA] (2)
Next, at step 201, an optimum target advance amount .theta.b under the current operating condition is set from a map indicating a relation between the engine rotational number Ne and the charging efficiency Ce as follows: EQU .theta.b(n)=(Ne, Ce)[.degree. CA] (3)
Next, at step 202, the advance amount deviation calculator 4 calculates a deviation .theta.er between the target advance amount .theta.b and the actual advance amount .theta.r based upon the following formula (4): EQU .theta.er(n)=.theta.b(n)-.theta.r(n)[.degree. CA] (4)
At step 203, the control amount calculator 5 calculates a control amount ic1(n) based on the following formula (5) in the case where proportional differential control (PD control) is carried out: EQU ic1(n)=ip(n)+id(n)=kp.times..theta.er(n)+kd.times.(.theta.er(n)-.theta.er(n -1))[A] (5),
where ip is a proportional value; id is a differential value; Kp is a proportional gain; and kd is a differential gain. Also, when the PID control is performed, the control amount calculator 5 similarly calculates another control amount ic2(n) in the PID control based on the following formula (6): EQU ic2(n)=ip(n)+id(n)+ii(n)=kp.times..theta.er(n)+kd.times.(.theta.er(n)-.thet a.er(n-1))+.SIGMA.Ki(n)[A] (6)
where ip is a proportional value; id is a differential value; and .SIGMA.Ki represents an integral value, namely .SIGMA.Ki(n)=.SIGMA.Ki(n-1)+Ki.times..theta.er(n); Kp is a proportional gain; Kd is a differential gain; and Ki is an integral gain.
Subsequently, at step 204, the control amount calculator 5 calculates a control current value "i" in accordance with the following formula (7) in the case of the PD control, or the following formula (8) in the case of the PID control: EQU i(n)=ic1(n)+ih=Kp.times..theta.er(n)+Kd.times.(.theta.er(n)-.theta.er(n-1)+ 0.5[A] (7), EQU i(n)=ic2(n)+ih=Kp.times..theta.er(n)+Kd.times.(.theta.er(n)-.theta.er(n-1)) +.SIGMA.Ki(n)+0.5[A] (8).
In these formulae (7) and (8), Kp is a proportional gain; Kd is a differential gain; and ip is a proportional value; id is a differential value; and .SIGMA.Ki represents an integral value, namely .SIGMA.Ki(n)=.SIGMA.Ki(n-1)+Ki.times..theta.er(n), and Ki is an integral gain.
Then, at step 205, the control signal is outputted to the controller 6. This control signal is calculated based on the control current value i by the control amount calculator 5. In other words, while the holding current value ih (e.g., 0.5 A) is set as a reference, the actual advance angle amount .theta.r is converged into the target advance amount .theta.b in accordance with the control amount which is calculated based on the deviation .theta.er between the target advance amount .theta.b and the actual advance amount .theta.r.
In the conventional control apparatus, since the control operation by the above-mentioned calculation is carried out every predetermined time (e.g., 25 ms) in the entire drive region, the detection sensitivity of the advance amount deviation .theta.er is not sharp, depending upon the process timing in the high speed revolution region. As a result, the converging time of the actual advance amount with respect to the target advance amount is changed without calculating the proper control amounts (proportional value, differential value and the like), so that the response characteristic is deteriorated. As a consequence, there arise such problems as deterioration in the drive performance such as lowering of engine power, engine stalling and occurrences of abnormal vibrations as well as deterioration in exhaust gases.
In particular, in the high speed revolution region, when a large number of calculating process operations are carried out every predetermined crank angle position, the processing time is increased so that it becomes difficult to perform the intended function of the engine control system itself. Therefore, the processing workloads required in the high speed revolution must be reduced as much as possible.